Integrate @objectstack/runtime@0.1.1 and @objectstack/spec@0.1.2#144
Integrate @objectstack/runtime@0.1.1 and @objectstack/spec@0.1.2#144
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…objectstack/spec@0.1.2 - Updated @objectstack/spec from 0.1.1 to 0.1.2 in packages/foundation/types - Updated @objectstack/spec from 0.1.1 to 0.1.2 in packages/foundation/core - Added @objectstack/runtime@0.1.1 as dependency - Added @objectstack/objectql@0.1.1 as dependency - Added type exports for ObjectStackKernel, ObjectStackRuntimeProtocol, ObjectQLEngine, and SchemaRegistry - Fixed searchable field requirement in util.ts for new spec version - All 236 tests pass successfully Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
|
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
|
There was a problem hiding this comment.
Pull request overview
This PR updates the ObjectQL core and types packages to align with the latest ObjectStack runtime/spec protocol while exposing upstream engine types without changing the existing runtime implementation.
Changes:
- Bumped
@objectstack/specto0.1.2across relevant packages and added@objectstack/runtime@0.1.1and@objectstack/objectql@0.1.1as dependencies for the core package. - Extended
FieldConfigwith asearchableflag and updated introspection utilities to setsearchable: falseon generated fields to satisfy the updated spec. - Re-exported key runtime types (
ObjectStackKernel,ObjectStackRuntimeProtocol,ObjectQLEngine,SchemaRegistry) from@objectql/corevia type-only exports and addedRUNTIME_INTEGRATION.mdto document the integration and usage.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
pnpm-lock.yaml |
Locks updated versions of @objectstack/spec, and adds entries for @objectstack/runtime, @objectstack/objectql, and related dependencies to match the new dependency graph. |
packages/foundation/types/src/field.ts |
Extends FieldConfig to omit searchable from the protocol Field and re-declares it as an optional runtime flag, enabling explicit control and compatibility with @objectstack/spec@0.1.2. |
packages/foundation/types/package.json |
Bumps @objectstack/spec dependency to ^0.1.2 to consume the updated protocol schema. |
packages/foundation/core/src/util.ts |
Ensures introspection-generated FieldConfig objects always include searchable: false for both lookup and regular fields to satisfy the new spec field requirement. |
packages/foundation/core/src/index.ts |
Adds type-only re-exports of ObjectStackKernel, ObjectStackRuntimeProtocol, ObjectQLEngine, and SchemaRegistry while keeping the existing core implementations as value exports. |
packages/foundation/core/package.json |
Adds @objectstack/runtime and @objectstack/objectql as dependencies and bumps @objectstack/spec to ^0.1.2 to support the new type exports. |
packages/foundation/core/RUNTIME_INTEGRATION.md |
Documents the runtime integration architecture, type-export strategy, usage patterns, compatibility notes (including the searchable requirement), and future evolution plans. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (1)
packages/foundation/core/src/util.ts:9
- Unused imports IntrospectedColumn, IntrospectedTable.
import { ObjectConfig, FieldConfig, FieldType, IntrospectedSchema, IntrospectedColumn, IntrospectedTable } from '@objectql/types';
| /** Whether the field is searchable (full-text search). Defaults to false. */ | ||
| searchable?: boolean; |
There was a problem hiding this comment.
Now that searchable is re-declared on FieldConfig, the preceding documentation comment's list of boolean flags that are "re-declared here" is slightly out of date because it doesn't include searchable. Please update the comment to mention searchable alongside the other re-declared boolean flags so the docs accurately reflect the interface.
| "dependencies": { | ||
| "@objectstack/spec": "^0.1.1" | ||
| "@objectstack/spec": "^0.1.2" | ||
| }, |
There was a problem hiding this comment.
@objectql/types is described as a pure contract/types package, but it still declares a runtime dependency on @objectstack/spec. To keep this package dependency-free as a low-level contract layer, consider removing @objectstack/spec from dependencies (for example by inlining the required spec types here and/or treating @objectstack/spec as a devDependency used only at build time).
| label: toTitleCase(column.name), | ||
| required: !column.nullable | ||
| required: !column.nullable, | ||
| searchable: false |
There was a problem hiding this comment.
The new searchable: false assignments for introspected fields are important for aligning with @objectstack/spec@0.1.2, but there are no assertions in the existing convertIntrospectedSchemaToObjects tests to verify this behavior. Please add test coverage (e.g., in introspection.test.ts or util.test.ts) that asserts introspected fields have searchable === false so regressions in spec compliance are caught.
Integrates latest ObjectStack runtime packages to align platform core with upstream protocol evolution.
Changes
@objectstack/specto 0.1.2, added@objectstack/runtime@0.1.1and@objectstack/objectql@0.1.1ObjectStackKernel,ObjectStackRuntimeProtocol,ObjectQLEngine, andSchemaRegistrytypes from runtime packages (type-only to avoid module resolution issues with upstream package configuration)searchable: falseto programmatically-generatedFieldConfigobjects in introspection utilityRUNTIME_INTEGRATION.mdexplaining type export strategy and migration pathType Exports
Existing ObjectQL implementation remains production-ready with full feature set (hooks, actions, validation, formulas). New types available for consumers needing lightweight alternatives or protocol compatibility.
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.